Gamma - Gamma correction for the RiscPC
=======================================

Why did I write Gamma?
----------------------
Basically, I was sick of having absolutely no colour correction software in
RISC OS even though the hardware has been capable of it since the release of
the RiscPC. This program is by no means perfect and I have a couple of ideas I
would like to add to it at some stage. It is however, much better than nowt
which is what we have had to put up with...

[addendum 2003: I have since learnt that several other people got sick
of having no gamma correction and wrote their own programs to do the job.

David Rucks !Gamma is but one example. Note that these things generally
aren't happy working together so you should really pick the one you want
to use and stick with it.]


For the uninitiated here are some uses for display gamma correction:

1. Improve the appearance of the screen display.

2. Allow the monitor to take (some) account of inaccuracies in a colour
printers output so that images may be created/modified on screen which will
more closely reflect the printed versions.

[
precis: Print something. display it on screen. Modify the display using !GamSetup so that the onscreen version looks like the printed one. Modify
the onscreen version using an image editor so that it looks right again.
Print that.

...or, just use a PC to print full colour images, or give
Martin Weurthner some money to help port Gimp print... ;-)
]

3. Help with designing images which are to be transferred to another computer
platform for output.

4. Provide a nice easy to use software contrast/brightness control without you
having to fiddle with knobs on the monitor.

License details
---------------
The application is Public Domain. While I retain copyright the program may be
distributed freely as long as it is not modified in any way and no charge is
made for it. The Relocatable module included with the application is provided
under a different (and more open) licensing agreement. See the file 'ModuleDoc'
for details.

Requirements
------------
RiscPC600 or 700 - probably the A7000 and later hardware too as long as it uses
a superset of RISC OS 3.50 and VIDC20 hardware. Its fine on my Iyonix.

The 'Drawfile' draw rendering module is required to display the example
drawfile.

Use
---
Provides simple colour correction for the screen display.

Load the application in the normal way - by double clicking. Click SELECT on
the icon bar icon to open the Gamma tools bar and the default modification
method window.

The Gamma tools bar
-------------------
This small window provides four icons currently.

From left to right:

The Display Curve modification window
-------------------------------------
This window allows you to deform the Colour curve by dragging control points
on a bezier curve. Turn the Combined option off to provide separate curves
for the Red, Green and Blue channels. Choose Reset all to reset to default
values. The three option buttons labelled R,G and B control display of the
Red,Green and Blue curves when Combined is off. It can often be useful to
turndisplayof one of the curves off while modifying another. The three
small Reset buttons allow you to reset the Red, Green or Blue channels
separately.

The DisplayGamma modification window
-------------------------------------
Use the bump arrows to alter the gamma curve. If the 'Combined' option is
turned on the Red, Green and Blue values will change together no matter which
of the bump arrows you use. Turning the Combined option off will allow you to
change the Red, Green and Blue gamma values independently. The Reset button
will reset the curve to the default of 1.00 and turn the combined option on
again.

The Display brightness modification window
------------------------------------------

Drag the sliders to alter the brightness of the display. If the combined
option is turned on the Red, Green and Blue values will change together
no matter which slider you use. Turning the Combined option off will allow
you to change the Red, Green and Blue brightness independently. The Default
button will reset brightness changes to zero.

The Display contrast modification window
----------------------------------------

Drag the sliders to alter the contrast of the display. If the combined
option is turned on the Red, Green and Blue values will change together
no matter which slider you use. Turning the Combined option off will allow
you to change the Red, Green and Blue contrast independently. The Default
button will reset contrast changes to zero.

The Example drawfile window
---------------------------
This utilises the DrawFile module (if it is available) to display an example
drawfile in a window. It can be useful to have this window open while
modifying the settings. See Stuart Hallidays documentation [Howtodoit] for
clear instructions of how to use this graphic to set your monitors
display gamma correctly.

The Save button
---------------
This opens a save dialogue allowing you to save the current settings.
To reload a Gamma file drag it to the Gamma application icon or one of the
programs windows.

The info button
---------------

Open a filer window onto the documentation directory within the program.


In addition, clicking MENU over any of the Display windows will give
you a small menu with the following items:


Save>File>
----------
This leads to a save dialogue box which is identical to the one opened by
clicking on the save button in the Gamma tools window.

Save>In !Boot
-------------
This will install the current gamma settings in your !Boot application with a
suitable section of code which will install the settings on machine reset.
This saves you having to load a particular gamma setting every time you reset
your machine/switch on.

[The 'Set' button in all windows will also do this if the program has been launched as a Configure plug in. It will also attempt to re-load this gamma
file the next time it is started.]

Reset all
---------
This loads a default gamma file stored within the !Gamma application itself.

Contacting the Author
---------------------
If you wish to contact the author of this software, either to report a bug,
suggest new features, praise or (horrors!) criticise the program then the
preferred method is via email to:

rdavison@xtra.co.nz

Version History
---------------
0.01 - this program was descended from something written on the A440+PCATs
       colour card. Went nowhere.
0.02 - to PixelEyes and Are Leistad.
0.03 - to Jeremy Cook. Gamma code in a module.
     - used Compo SWI block because if a guy can't rip his own allocation
       then who's can he rip? :-)
0.05 - fixed curve min/max settings, added save, made toolbar behave properly.
0.06 - fixed small bug reported by Jeremy and crunched for release.
0.07 - 2003. Renamed to fix a clash with David Rucks !Gamma.
       Updated for 32bit compatibility, added contrast and brightness controls.
       Made it able to work as a configure plug-in. Tweaks.
